Инструкция по установке EAI почтового сервера под ОС Debian 11 amd64

Материал из вики.поддерживаю.рф
Перейти к навигации Перейти к поиску

Инструкция по установке EAI почтового сервера под ОС Debian 11 amd64

С помощью данной инструкции вы сможете установить почтовый сервер с поддержкой использования интернационализированных адресов электронной почты (EAI) на базе ПО с открытым исходным кодом. Почтовый сервер можно развивать далее с помощью другого ПО. В данной инструкции не учтены моменты, связанные с настройкой доменных имен, сертификатов, DKIM-записей и hostname.

Введение

Настраиваемая система представляет собой два идентичных узла, с разными именами серверов и сетевыми адресами. Каждый узел содержит:

  1. сервер баз данных для возможности создания/удаления почтовых доменов и адресов
  2. почтовый сервер exim
  3. транспортную почтовую систему courier
  4. веб-интерфейс управления почтовыми доменами и адресами vexim
  5. веб-сервер apache2
  6. интерпретатор php
  7. почтовый веб-клиент roundcube

Установка сервера баз данных

apt install default-mysql-server default-mysql-client

Создание пользователя и базы данных для работы почтовой системы и веб-интерфейса

Заходим в mysql и выполняем:

создание БД

create database vexim;
create database roundcube;

создание пользователей

CREATE USER 'vexim'@'localhost' IDENTIFIED BY '*************';
CREATE USER 'roundcube'@'localhost' IDENTIFIED BY '*************';

настройка доступов

GRANT ALL PRIVILEGES ON vexim.* TO 'vexim'@'localhost';
GRANT ALL PRIVILEGES ON roundcube.* TO 'roundcube'@'localhost';
flush privileges;

Установка веб-сервера apache2

apt install apache2

Сразу же внесем правки в виртуальный хост для работы roundcube, а именно изменяем директиву DocumentRoot

	DocumentRoot /usr/share/roundcube

P.S. если перезапустить веб-вервер сейчас, то он не будет работать, так как папка отсутствует

Установка PHP

 apt install php php7.4-mbstring php7.4-xml php7.4-mysql  php7.4-gd php7.4-imagick php7.4-zip

Установка roundcube

Тестирование последней версии roundcube не было успешным, поэтому будет произведена установка более старой версии

Скачиваем исходный код

wget https://github.com/roundcube/roundcubemail/releases/download/1.4.9/roundcubemail-1.4.9-complete.tar.gz

Распаковываем архив с исходным кодом

tar -xvzf roundcubemail-1.4.9-complete.tar.gz

Переносим файлы на нужное место

1. Создаем папку

mkdir /usr/share/roundcube

2. Копируем

cp -r roundcubemail-1.4.9/* /usr/share/roundcube/

3. Настраиваем владельца папки

chown -R www-data:www-data /usr/share/roundcube/

4. Теперь можно перезапустить вебсервер и приступить к настройке roundcube

настройка происходит по адресу http://<ip>/installer нас интересутет пункт два, инициализация БД, необходимо проверить имя БД, пользователя и ввести пароль, после этого на пункте три нажать кнопку "Initialize Database"

5. В конце настройки удаляем папку installer

rm -rf /usr/share/roundcube/installer

6. Доступ в roundcube готов по адресу http://<ip>

Установка почтового сервера exim

apt install exim4-daemon-heavy

Установка транспортной почтовой системы courier

apt-get install courier-imap courier-pop  courier-authlib-mysql courier-authdaemon

Настройка доступа к серверу баз данных для авторизации

vim /etc/courier/authmysqlrc в данном файле изменяем строки с MYSQL_USERNAME, MYSQL_DATABASE и MYSQL_PASSWORD в них прописываем имеющийся у нас логин, имя базы и пароль, так же

authmodulelist="authmysql"
MYSQL_USER_TABLE        users
MYSQL_LOGIN_FIELD       username
MYSQL_HOME_FIELD        pop
MYSQL_NAME_FIELD        realname

и перезапускаем courier командой service courier-* restart

Установка веб-интерфейса vexim

Устанавливаем пакет для возможности работы с архивом zip

apt install unzip

Копируем исходный код и распаковываем архив

cd /var/www/
wget https://github.com/vexim/vexim2/archive/master.zip
unzip master.zip

Импортируем схему в ранее созданную базу данных

 mysql vexim < /var/www/vexim2-master/setup/mysql.sql

При этом импорте нам будет сообщен пароль от пользователя siteadmin, сохраняем его себе, он будет нужен для доступа в панель администрирования.

Настраиваем доступ к серверу баз данных

cd /var/www/vexim2-master/vexim/config
mv variables.php.example variables.php

vim variables.php в данном файле интересует строка sqlpass в нее добавляем созданный пароль к пользователю vexim, а также меняем значение полей uid и gid на значение для пользователя Debian-exim на нашем сервере.

Настройка веб-сервера для доступа в панель vexim

vim /etc/apache2/conf-enabled/vexim.conf

Добавляем строку

Alias /vexim /var/www/vexim2-master/vexim

и перезапускаем веб-сервер

service apache2 restart

После этого можно будет пройти авторизацию с созданным ранее пользователем siteadmin по адресу http://<ip>/vexim

Настройка завершена, далее потребуется наличие зарегистрированного доменного имени, чтобы создать его на сервере. Домен должен иметь возможность работы с DNS.